home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 1 / Gold Medal Software Volume 1 (Gold Medal) (1994).iso / drivers / ljp3fw.arj / DEMOLJ3.PRG < prev    next >
Text File  |  1993-09-15  |  8KB  |  255 lines

  1.    #include "SET.CH"
  2.  
  3.    #include "FILEIO.CH"
  4.  
  5.    #include "ljprtiii.CH"
  6.  
  7. /*
  8.  
  9.    this program should be compiled
  10.  
  11.          clipper demolj3 /a /m /n /p /b /w >demolj3.txt
  12.  
  13.  
  14.    CAVEAT:  this library is meant to work with a PCL 5 printer
  15.             (i.e. HP Laserjet Series III, IIIP, IIISI, Brother HLV10?  etc)
  16.             if all you have is a PCL 4 printer most of this stuff
  17.             wont work and it will send lots of paper thru your printer
  18.             in the process
  19.  
  20.    Note 1:  for the most part I do not use the SET PRINTER, SET CONSOLE,
  21.             or SET DEVICE commands in these examples - its not necessary
  22.             and may once in a while cause problems with the printer cursor
  23.             positioning if you're careless in your use of them - BE Warned!
  24.  
  25.  
  26.    Note 2:  do not use: #include "simpleio.ch"  it will hose things badly
  27.  
  28.  
  29.  
  30.  
  31. */
  32.  
  33. function main()
  34.  
  35.    local cS     := ""
  36.    local nI     := 0
  37.    local nII    := 0
  38.    local nIII   := 0
  39.    local nbytes := 0
  40.    local nX     := 4.5
  41.  
  42.    LJ_SetJob( PRINTER_RESET )
  43.    LJ_SetJob( NUMBER_OF_COPIES, 1 )
  44.  
  45.    LJ_SetPage( PAGE_SIZE, LETTER )
  46.    LJ_SetPage( PAGE_LENGTH, LETTER_8_LPI_PORT )
  47.    LJ_SetPage( PAPER_SOURCE, UPPER_TRAY )
  48.    LJ_SetPage( LOGICAL_PAGE_ORIENT, REVERSE_PORTRAIT )
  49.  
  50.    LJ_Send_CC( LJ_Font_SS( PRIMARY_SYMBOL_SET, ;
  51.                           PC_8, ;
  52.                           FIXED_SPACING, ;
  53.                            8,;
  54.                           16,;
  55.                           UPRIGHT_SOLID, ;
  56.                           MEDIUM_BOOK_OR_TEXT,;
  57.                           COURIER ) ;
  58.               )
  59.  
  60.    lj_Say_YX( ROWCOL, 4, 41, "a NE " )
  61.    lj_Say_YX( ROWCOL, 5, 41, "shadow box" )
  62.  
  63.    // set up the array: aBoxParams
  64.    BOX_PARAM_format   := ROWCOL
  65.    BOX_top_line       := 3
  66.    BOX_left_side      := 40
  67.    BOX_bottom_line    := 6
  68.    BOX_right_side     := 52
  69.    BOX_line_thickness := 0.025
  70.    BOX_RAF_option     := BLACK_FILL
  71.    BOX_line_pattern   := SOLID_BLACK
  72.    BOX_shadow         := SHADOW_NE
  73.  
  74.    lj_box( aBoxParams )
  75.  
  76.    LJ_Send_CC( LJ_Font_SS( PRIMARY_SYMBOL_SET, ;
  77.                           PC_8, ;
  78.                           PROPORTIONAL_SPACING, ;
  79.                            0,;
  80.                            6,;
  81.                           SHADOWED, ;
  82.                           ULTRA_THIN,;
  83.                           CG_TIMES ) )
  84.  
  85.    lj_Say_YX( ROWCOL, 5, 64, "and a NW shadow box" )
  86.  
  87.    BOX_PARAM_format   := ROWCOL
  88.    BOX_top_line       := 3
  89.    BOX_left_side      := 60
  90.    BOX_bottom_line    := 6
  91.    BOX_right_side     := 72
  92.    BOX_line_thickness := 0.015
  93.    BOX_RAF_option     := BLACK_FILL
  94.    BOX_line_pattern   := SOLID_BLACK
  95.    BOX_shadow         := SHADOW_NW
  96.  
  97.    lj_box( aBoxParams )
  98.  
  99.    LJ_Send_CC( LJ_Font_SS( PRIMARY_SYMBOL_SET, ;
  100.                           PC_8, ;
  101.                           PROPORTIONAL_SPACING, ;
  102.                            6,;
  103.                            6,;
  104.                           UPRIGHT_SOLID, ;
  105.                           EXTRA_THIN,;
  106.                           UNIVERS ) )
  107.  
  108.    lj_Say_YX( ROWCOL, 11, 42, "then a SE shadow box" )
  109.  
  110.    BOX_PARAM_format   := ROWCOL
  111.    BOX_top_line       := 9
  112.    BOX_left_side      := 40
  113.    BOX_bottom_line    := 12
  114.    BOX_right_side     := 52
  115.    BOX_line_thickness := 0.05
  116.    BOX_RAF_option     := BLACK_FILL
  117.    BOX_line_pattern   := SOLID_BLACK
  118.    BOX_shadow         := SHADOW_SE
  119.  
  120.    lj_box( aBoxParams )
  121.  
  122.    LJ_Send_CC( LJ_Font_SS( PRIMARY_SYMBOL_SET, ;
  123.                           PC_8, ;
  124.                           PROPORTIONAL_SPACING, ;
  125.                           44,;
  126.                           8.5,;
  127.                           OUTLINE, ;
  128.                           LIGHT,;
  129.                           CG_TIMES ) )
  130.  
  131.    lj_Say_YX( ROWCOL, 11, 61, "and a SW shadow box" )
  132.    BOX_PARAM_format   := ROWCOL
  133.    BOX_top_line       := 9
  134.    BOX_left_side      := 60
  135.    BOX_bottom_line    := 12
  136.    BOX_right_side     := 72
  137.    BOX_line_thickness := 0.0025
  138.    BOX_RAF_option     := BLACK_FILL
  139.    BOX_line_pattern   := SOLID_BLACK        //????
  140.    BOX_shadow         := SHADOW_SW
  141.  
  142.    lj_box( aBoxParams )
  143.  
  144.    LJ_Send_CC( LJ_Font_SS( PRIMARY_SYMBOL_SET, ;
  145.                           PC_8, ;
  146.                           PROPORTIONAL_SPACING, ;
  147.                           44,;
  148.                           12.5,;
  149.                           OUTLINE, ;
  150.                           LIGHT,;
  151.                           CG_TIMES ) )
  152.  
  153.    lj_Say_YX( ROWCOL, 14, 51, "and a NON-SHADOW box" )
  154.  
  155.    BOX_PARAM_format   := ROWCOL
  156.    BOX_top_line       := 13
  157.    BOX_left_side      := 50
  158.    BOX_bottom_line    := 15
  159.    BOX_right_side     := 72
  160.    BOX_line_thickness := 0.0020
  161.    BOX_RAF_option     := BLACK_FILL
  162.    BOX_line_pattern   := SOLID_BLACK        //????
  163.    BOX_shadow         := SHADOW_NONE
  164.  
  165.    lj_box( aBoxParams )
  166.  
  167.    // alternate method of selecting a font
  168.    cS :=  LJ_Font_SS( PRIMARY_SYMBOL_SET, ;
  169.                       PC_8, ;
  170.                       PROPORTIONAL_SPACING, ;
  171.                        0,;
  172.                       22,;
  173.                       UPRIGHT_SOLID, ;
  174.                       OUTLINE_SHADOWED,;
  175.                       CG_TIMES )
  176.  
  177.    LJ_Send_CC( cS )
  178.  
  179.    lj_Say_YXF( ROWCOL, 4, 5, "RASTERED image", , , FLOATING_UNDERLINE_ON )
  180.  
  181.    RastTest()
  182.  
  183.  
  184.  
  185.    // HORIZONTAL LINES - top to bottom 1 - 8
  186.        LJ_Line( INCHES,  3.56,  0.0,    3.5, 0.0016, BLACK_FILL, 100 )   // line 1
  187.        LJ_Line( INCHES,  3.66,  0.0,    3.5, 0.0017, BLACK_FILL, 100 )   // line 1
  188.        LJ_Line( INCHES,  3.76,  0.0,    3.5, 0.0018, BLACK_FILL, 100 )   // line 1
  189.        LJ_Line( INCHES,  3.86,  0.0,    3.5, 0.002, BLACK_FILL, 100 )   // line 1
  190.        LJ_Line( INCHES,  4.04,  0.5,    3.5, 0.012, BLACK_FILL, 100 )   // line 2
  191.        LJ_Line( INCHES,  4.20,  1.0,    3.5, 0.022, BLACK_FILL, 100 )   // line 3
  192.        LJ_Line( INCHES,  4.34,  1.5,    3.5, 0.032, BLACK_FILL, 100 )   // line 4
  193.        LJ_Line( INCHES,  4.51,  2.0,    3.5, 0.042, BLACK_FILL, 100 )   // line 5
  194.        LJ_Line( INCHES,  4.67,  2.5,    3.5, 0.052, BLACK_FILL, 100 )   // line 6
  195.        LJ_Line( INCHES,  4.86,  3.0,    3.5, 0.062, BLACK_FILL, 100 )   // line 7
  196.        LJ_Line( INCHES,  5.01,  3.5,    3.5, 0.072, BLACK_FILL, 100 )   // line 8
  197.  
  198.    // VERTICAL LINES  left to right 1 - 4
  199.        LJ_Line( INCHES,  5.5,  1.0,   0.0015, 1.55, BLACK_FILL, 100 )  // line 1
  200.        LJ_Line( INCHES,  5.5,  1.3,   0.003,  1.59, BLACK_FILL, 100 )  // line 1
  201.        LJ_Line( INCHES,  5.5,  1.75,  0.013,  1.70, BLACK_FILL, 100 )  // line 2
  202.        LJ_Line( INCHES,  5.5,  2.25,  0.103,  1.24, BLACK_FILL, 100 )  // line 3
  203.        LJ_Line( INCHES,  5.5,  2.50,  0.053,  1.35, BLACK_FILL, 100 )  // line 4
  204.  
  205.    // SHADED HORIZONTAL LINES - top to bottom 1 - 5
  206.        LJ_Line( INCHES,  5.70,   3.5 ,   3.5, 0.167, SHADED_FILL, 10 ) // line 1
  207.        LJ_Line( INCHES,  6.04,   3.75,   3.5, 0.166, SHADED_FILL, 10 ) // line 2
  208.        LJ_Line( INCHES,  7.340,  4.0 ,   3.5, 0.166, SHADED_FILL, 10 ) // line 3
  209.        LJ_Line( INCHES,  8.670,  0.35,   5.8, 0.55 , SHADED_FILL, 10 ) // line 4
  210.        LJ_LINE( INCHES,  9.670,  1.1 ,   5.5, 0.33 , SHADED_FILL, 10 ) // line 5
  211.  
  212.  
  213.    // alternate method of selecting a font
  214.    cS :=  LJ_Font_SS( PRIMARY_SYMBOL_SET, ;
  215.                       PC_8, ;
  216.                       PROPORTIONAL_SPACING, ;
  217.                        0,;
  218.                        8,;
  219.                       UPRIGHT_SOLID, ;
  220.                       OUTLINE_SHADOWED,;
  221.                       CG_TIMES )
  222.  
  223.    LJ_Send_CC( cS )
  224.  
  225.    LJ_SetPage( PRINT_DIRECTION, PD_REVERSE_LANDSCAPE )
  226.    lj_Say_YX( ROWCOL, 4, 14, "The shadowed boxes" )
  227.  
  228.    LJ_SetPage( PRINT_DIRECTION, PD_LANDSCAPE )
  229.    lj_Say_YX( ROWCOL, 7, 34, "some vertical lines" )
  230.  
  231.  
  232.    LJ_SetPage( PRINT_DIRECTION, PD_REVERSE_PORTRAIT )
  233.    lj_Say_YX( ROWCOL,  5, 24, "a few shaded Lines" )
  234.  
  235.  
  236.    LJ_SetPage( PRINT_DIRECTION, PD_PORTRAIT )
  237.    lj_Say_YX( ROWCOL, 25, 24, "a few horizontal Lines" )
  238.  
  239.  
  240.    // another way to build a box - it expects an array as input parameter)
  241.    lj_box( {ROWCOL, 5.5, 9, 9, 30, 0.002 , BLACK_FILL, SOLID_BLACK, SHADOW_SW } )
  242.  
  243.  
  244.    LJ_Send_CC( FORM_FEED )
  245.    LJ_SetPage( LOGICAL_PAGE_ORIENT, PORTRAIT )
  246.  
  247.    FormBld()
  248.    PrtInvoice()
  249.  
  250.    LJ_SetJob( PRINTER_RESET )
  251.  
  252.    return nil
  253.  
  254.  
  255.